

#ifndef CombatSysState_Casting_H
#define CombatSysState_Casting_H

#include "CombatState.h"

/*
*
*	CombatState Casting
*
*	state Casting:		in combat, casting a spell on its target
*/
class TCOM_API  CombatState_Casting : public ICombatState
{
public:
	CombatState_Casting(void);
	virtual ~CombatState_Casting();
	// 
	//	Fire when enter a new state
	//
	virtual void enter();

	// 
	//	Fire just before leaving a state
	//
	virtual void leave();

	// 
	//	update in current state
	//
	virtual bool update(int nElapse);

	// 
	//	onEvent callback in current state
	//
	virtual void onEvent(IEvt& evt);
protected:
	bool	m_bCastedOut;//	Whether my count of casting time it out
};


#endif
